using System;

namespace Webshop20.Application.Operations.Messages
{
    public class AddProductToCartRequest : MessageBase
    {
        private readonly Guid? visitorInterimKey;
        private readonly int? visitorId;
        private readonly int productId;
        private readonly int quantity;
        private readonly DateTime addedAt;

        public AddProductToCartRequest(Guid? visitorInterimKey, int? visitorId, int productId, int quantity, DateTime addedAt)
        {
            this.addedAt = addedAt;
            this.visitorInterimKey = visitorInterimKey;
            this.quantity = quantity;
            this.productId = productId;
            this.visitorId = visitorId;
        }

        public AddProductToCartRequest(Guid? visitorInterimKey, int? visitorId, int productId, int quantity)
        {
           this.visitorInterimKey = visitorInterimKey;
            this.quantity = quantity;
            this.productId = productId;
            this.visitorId = visitorId;
        }

        public DateTime AddedAt
        {
            get { return addedAt; }
        }

        public int Quantity
        {
            get { return quantity; }
        }

        public int ProductId
        {
            get { return productId; }
        }

        public int? VisitorId
        {
            get { return visitorId; }
        }

        public Guid? VisitorInterimKey
        {
            get { return visitorInterimKey; }
        }
    }
}